// pages/intro/intro.js
let utils = require('../../utils/utils.js')
const chinaCnLocation = require('../../utils/chinaCNLocation');
const WXBizDataCrypt = require('../../utils/cryptojs-master/RdWXBizDataCrypt.js');
const app=getApp()
Page({

	data: {
		service_area:0
	},

	/**
	 * 生命周期函数--监听页面加载
	 */
	onLoad: function (options) {
		// 从官方支持的二维码进小程序，参数是连同整个自定义url，放在d里面的
		console.log('url参数：',options.q)
		let realUrl = decodeURIComponent(options.q);
		let getAreaid = utils.getQueryString(realUrl, 'service_area')
		app.globalData.service_area = options.service_area
		this.setData({
			service_area:getAreaid
		})
	},

	//////////////////////////////////////////////////其它事件//////////////////////////////////////////////
	//////////////////////////////////////////////////其它事件//////////////////////////////////////////////
	//////////////////////////////////////////////////其它事件//////////////////////////////////////////////
	// 授权回调
	__getUserInfo: function (authorizeRes) {
		let that = this
		// console.log(chinaCnLocation('Fujiancccc') || '没有')
		// console.log(chinaCnLocation(authorizeRes.detail.userInfo.city))
		//授权验证
		if (authorizeRes.detail.userInfo == null) {
			wx.showToast({ title: '你拒绝了。。。',icon:'none' })
			that.jumpToIndex();
		} else {
			console.log("授权成功：返回用户个人微信信息：", authorizeRes.detail);
			// 如果缓存中没有unionid，（假设压根wx.login() 没有得到，或用户者换手机，清缓存）
			// 就自己解密出unionid, 并强制更新用户信息到数据库
			if (!wx.getStorageSync("unionid")) {
				wx.showLoading({title:'授权更新用户信息'})
				wx.login({
					success: res => {
						wx.request({
							url: app.globalData.server_Url + 'wx_getUnionid.php',
							data: { jscode: res.code, },
							header: { 'content-type': 'application/x-www-form-urlencoded' },
							method: 'POST',
							success: res =>  {
								// console.log(res.data.session_key)
								var __DECRYPT = new WXBizDataCrypt(app.globalData.appid, res.data.session_key)
								wx.getUserInfo({
									success: resUser =>  {
										var data = __DECRYPT.decryptData(resUser.encryptedData, resUser.iv)
										console.log('解密后 unionid: ', data.unionId)
										wx.setStorageSync('unionid', data.unionId) //放到storage中
										app.globalData.unionid = data.unionId //放到app公共变量中
										this.setData({ unionid: data.unionId }) //放到本页
										this._UPDATE_UERINFO_(authorizeRes) //更新用户信息
									},
									fail: function(res) { console.log(res) }
								})
							},
							fail: function(res) {},
							complete: function(res) {}
						});
					}
				})
			} else {
				// 如果storage中有unionid,有可能是wx.login()一开始就换取到的，所以就只更新用户信息
				console.log('storage中有unionid,只更新用户信息中...');
				this._UPDATE_UERINFO_(authorizeRes)
				// that.jumpToIndex() //进入题库
			}
		}
	},
	// 更新用户信息
	_UPDATE_UERINFO_(authorizeRes) { 
		let that = this
		console.log('更新用户微信资料...')
		wx.request({
			url: app.globalData.server_request_baseUrl + '/user_updateInfo.php',
			header: { 'content-type': 'application/x-www-form-urlencoded' },
			method: 'POST',
			data: {
				//openid   : wx.getStorageSync('openid'),
				//unionid  : wx.getStorageSync('unionid'),
				openid   : app.globalData.openid,
				unionid  : app.globalData.unionid,
				nickName : authorizeRes.detail.userInfo.nickName,
				avatarUrl: authorizeRes.detail.userInfo.avatarUrl,
				gender   : authorizeRes.detail.userInfo.gender,
				country  : authorizeRes.detail.userInfo.country,
				province : chinaCnLocation(authorizeRes.detail.userInfo.province),
				city     : chinaCnLocation(authorizeRes.detail.userInfo.city)
			},
			success: res => {
				wx.hideLoading()
				wx.showLoading({ title: '登录成功等待跳转..' })
				setTimeout(() => {
					that.jumpToIndex() //进入题库
				}, 1000);
			},
			fail: res => {},
		})
	},
	jumpToIndex(){
		wx.switchTab({
			url: '/pages/questionnaireChoose/questionnaireChoose',
		})
	},
	__show_area_id(){
		console.log(app.globalData.service_area)
		
	}
})